import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import ElementPlus, { ElMessage } from 'element-plus'
import axios from 'axios'
// 这个样式文件很重要,否则你引用的element-plus组件效果出不来
import 'element-plus/dist/index.css'
// vue3注册全局属性，与vue2注册全局属性不一样
//以下是vue3的第一种插件引入方式


//注意，如果要采用这种手段进行全局注册变量的话，vue会自动给js全局js原型对象加上一个属性,默认是$+该变量名字
const app=createApp(App).use(router)

// app.config.globalProperties.$router=router
app.use(router)

// 创建一个异步对象

const axiosObj=axios.create(
    {
        baseURL:"http://localhost:520",
        timeout:3600*1000
    }
)

axiosObj.interceptors.request.use(
    request=>{
        // 这是表示每次发请求时，需要进行拦截请求头的信息
        request.headers['token']=localStorage.getItem('token')
        console.log("这是请求头信息",request);
        return request
    }
)

axiosObj.interceptors.response.use(
    res=>{
        var code=res.data.code
        if(code==303){
            ElMessage(
                {
                    message:"令牌失效,请你重新登陆!",
                    type:"error",
                    plain:true
                }
            )
        }
        return res
    }
)
// 这一步代码是为了给全局vue对象注册这样一个axios实例对象
app.config.globalProperties.$axios=axiosObj
//以下是插件引入的第二种方式
app.use(ElementPlus)


app.mount('#app')





/*


*/
